CREATE TABLE [dbo].[tb_Antiguedades]
(
[idAntiguedad] [int] NOT NULL IDENTITY(1, 1),
[idAgente] [int] NOT NULL,
[ConceptoAntiguedad] [int] NOT NULL,
[Parametro] [int] NULL,
[FechaDesde] [datetime] NOT NULL,
[FechaHasta] [datetime] NOT NULL,
[TotalDias] [int] NULL,
[Anios] [int] NOT NULL,
[Meses] [int] NOT NULL,
[Dias] [int] NOT NULL,
[Manual] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Recalcular] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[FechaCalculo] [datetime] NOT NULL,
[NTUser] [int] NULL CONSTRAINT [DF_tb_Antiguedades_NTUser] DEFAULT ([dbo].[sp_usuario](suser_sname())),
[FechaCarga] [datetime] NULL CONSTRAINT [DF_tb_Antiguedades_FechaCarga] DEFAULT (getdate())
) ON [PRIMARY]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
-- =============================================
-- Author:		<Author,Yapura Alberto>
-- Create date: <Create Date,02/09/2014>
-- Description:	<Description,trigger de insercion, cheque si la antiguedad requiere parametros>
-- =============================================
CREATE TRIGGER [dbo].[triggerInsertAntiguedades] ON [dbo].[tb_Antiguedades]
FOR INSERT, UPDATE
AS 
declare @requiere varchar(1)
declare @ide int

SELECT @requiere = ca.RequiereParametro
FROM	tb_ConceptoAntiguedad AS ca,
		INSERTED
WHERE ca.idConcepto = INSERTED.ConceptoAntiguedad

IF (@requiere = 'S') BEGIN
	SELECT 	@ide = Parametro FROM INSERTED
	IF (@ide IS NULL)
	BEGIN
		RAISERROR ('El concepto de Antiguedad requiere parametro.', 16, 1)
		ROLLBACK
	END
END
IF (@requiere = 'N') BEGIN
		RAISERROR ('El concepto de Antiguedad no requiere parametro.', 16, 1)
		ROLLBACK
	END
GO

ALTER TABLE [dbo].[tb_Antiguedades] WITH NOCHECK ADD
CONSTRAINT [FK_tb_Antiguedades_tb_Parametros] FOREIGN KEY ([Parametro]) REFERENCES [dbo].[tb_Parametros] ([idParametro])
GO
ALTER TABLE [dbo].[tb_Antiguedades] ADD CONSTRAINT [PK_tb_Antiguedades] PRIMARY KEY NONCLUSTERED  ([idAntiguedad]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[tb_Antiguedades] WITH NOCHECK ADD CONSTRAINT [FK_tb_Antiguedades_tb_ConceptoAntiguedad] FOREIGN KEY ([ConceptoAntiguedad]) REFERENCES [dbo].[tb_ConceptoAntiguedad] ([idConcepto])
GO

ALTER TABLE [dbo].[tb_Antiguedades] WITH NOCHECK ADD CONSTRAINT [FK_tb_Antiguedades_tb_Agentes] FOREIGN KEY ([idAgente]) REFERENCES [dbo].[tb_Agentes] ([idAgente])
GO

ALTER TABLE [dbo].[tb_Antiguedades] NOCHECK CONSTRAINT [FK_tb_Antiguedades_tb_ConceptoAntiguedad]
GO
